﻿using System;

namespace Mbs.Elements
{
    /// <summary>
    /// 元素服务门面接口
    /// </summary>
    /// <remarks>
    /// 采用设计模式中的门面模式
    /// </remarks>
    public interface IElementService : IDisposable
    {
        /// <summary>
        /// 得到桥接元素工厂职责库
        /// </summary>
        IElementFactoryRepository Factories { get; }

        /// <summary>
        /// 得到命令职责库
        /// </summary>
        IElementCommandRepository Commands { get; }

        /// <summary>
        /// 得到桥接元素站点职责库
        /// </summary>
        IElementCategoryRepository Sites { get; }

        /// <summary>
        /// 得到元素映射器
        /// </summary>
        IElementMapRepository ElementMap { get; }
    }
}